package com.project.server.service.estates;

import com.project.server.domain.estates.TPayRecord;

import java.util.List;

/**
 * 缴费记录Service接口
 *
 * @author project
 * @date 2021-06-28
 */
public interface ITPayRecordService {

    /**
     * 根据缴费id查询缴费记录
     *
     * @param payId 缴费记录ID
     * @return 缴费记录
     */
    public TPayRecord selectTPayRecordById(Long payId);

    /**
     * 根据缴费单号查询缴费记录
     *
     * @param payOrder 缴费单号
     * @return 缴费记录
     */
    public TPayRecord selectTPayRecordByPayOrder(String payOrder);

    /**
     * 查询缴费记录列表
     *
     * @param tPayRecord 缴费记录
     * @return 缴费记录集合
     */
    public List<TPayRecord> selectTPayRecordList(TPayRecord tPayRecord);

    /**
     * 根据userid查询缴费记录
     *
     * @param tPayRecord 缴费记录
     * @return 缴费记录集合
     */
    public List<TPayRecord> selectTPayRecordByUserId(TPayRecord tPayRecord);

    /**
     * 新增缴费记录
     *
     * @param tPayRecord 缴费记录
     * @return 结果
     */
    public int insertTPayRecord(TPayRecord tPayRecord);

    /**
     * 修改缴费记录
     *
     * @param tPayRecord 缴费记录
     * @return 结果
     */
    public int updateTPayRecord(TPayRecord tPayRecord);

    /**
     * 批量删除缴费记录
     *
     * @param payIds 需要删除的缴费记录ID
     * @return 结果
     */
    public int deleteTPayRecordByIds(Long[] payIds);

    /**
     * 删除缴费记录信息
     *
     * @param payId 缴费记录ID
     * @return 结果
     */
    public int deleteTPayRecordById(Long payId);

    /**
     * 导入缴费记录数据
     *
     * @param payRecordList  缴费记录列表
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operName        操作用户
     * @return 结果
     */
    public String importPayRecord(List<TPayRecord> payRecordList, Boolean isUpdateSupport, String operName);
}
